package com.hzlj.position.config.common.dto.common;


import cn.hutool.core.util.ObjectUtil;
import com.fz.common.base.core.date.DateUtils;
import com.fz.common.base.dto.UpdateCommonDTO;
import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 通信联络核查-位置上报DTO
 *
 * @author lifh
 * @date 2023-03-13 19:22:32
 */
@Data
@ToString
@Accessors(chain = true)
public class ReportLocateDTO extends UpdateCommonDTO<String> {
    /**
     * id
     * 1、人脸签到不需要传入
     * 2、位置上报需要上传（主动上报不需要传入）
     */
    private String id;
    /**
     * 矫正人ID(jz_jbxx)
     */
    private String jzId;
    /**
     * 上报类型，dict-REPORT_TYPE
     */
    private String reportType;
    /**
     * 签到内容
     */
    private String reportContent;
    /**
     * 上报地址
     */
    private String reportAddress;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 上报的现场图片
     */
    private String fileIds;
    /**
     * 忽略，上报时间
     */
    private Date reportTime = DateUtils.now();
    /**
     * 忽略，设备编号
     */
    private String deviceCode;
    /**
     * 忽略，定位渠道类型,dict-LOCATE_CHANNEL_TYPE
     */
    private String channelType;
    /**
     * 忽略，定位渠道,dict-LOCATE_CHANNEL
     */
    private String channel;
    /**
     * 忽略，数据类型
     */
    private String dataType;
    /**
     * 额外的数据
     */
    private PositionAddExtDTO positionExt;

    public String getLatitude() {
        if(ObjectUtil.hasEmpty(latitude,longitude)){
            return latitude;
        }
        if(Double.parseDouble(latitude)>90){
            return longitude;
        }
        return latitude;
    }

    public String getLongitude() {
        if(ObjectUtil.hasEmpty(latitude,longitude)){
            return longitude;
        }
        if(Double.parseDouble(latitude)>90){
            return latitude;
        }
        return longitude;
    }

}
